package cn.ffcs.uec.staff.model;

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;
import cn.ffcs.uec.staff.dao.UecTrialDao;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.ApplicationContextUtil;
import cn.ffcs.uom.common.util.StrUtil;

/**
 * @Title:24 人员试用情况
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2018年1月6日
 * @since JDK1.6
 */
public class UecTrial extends UomEntity implements Serializable,Cloneable {

	private static final long serialVersionUID = 3233188789647402279L;

	/**
	 * 人员使用情况标识
	 * 
	 * @return
	 */
	public Long getTrialId() {
		return super.getId();
	}

	public void setTrialId(Long trialId) {
		super.setId(trialId);
	}

	/**
	 * 员工标识
	 */
	@Getter
	@Setter
	private Long staffId;

	@Getter
	@Setter
	private Long monthId; // 账期

	/**
	 * 员工类型 1：合同制、派遣制 2：外包自有、其他
	 */
	@Getter
	@Setter
	private String nmStaffType;

	@Getter
	@Setter
	private String pkPsndocSub; // 主键
	@Getter
	@Setter
	private String creator; // 创建人
	@Getter
	@Setter
	private String endflag; // 结束
	@Getter
	@Setter
	private Long trialType; // 试用类型
	@Getter
	@Setter
	private String enddate; // 结束日期
	@Getter
	@Setter
	private String modifiedtime; // 修改时间
	@Getter
	@Setter
	private Long trialresult; // 试用结果
	@Getter
	@Setter
	private String modifier; // 修改人
	@Getter
	@Setter
	private String creationtime; // 创建时间
	@Getter
	@Setter
	private String begindate; // 开始日期
	@Getter
	@Setter
	private String regulardate; // 转正日期
	@Getter
	@Setter
	private String pkPsndoc; // 人员基本信息
	@Getter
	@Setter
	private Long dr; // 删除标示
	@Getter
	@Setter
	private String ts; // 时间戳
	@Getter
	@Setter
	private String pkOrg; // 组织
	@Getter
	@Setter
	private String pkPsnjob; // 工作记录
	@Getter
	@Setter
	private String lastflag; // 最近记录标志

	/**
	 * 创建对象实例
	 * 
	 * @return
	 */
	public static UecTrial newInstance() {
		return new UecTrial();
	}

	public UecTrial() {
		super();
	}

	/**
	 * 获取dao
	 */
	public UecTrialDao repository() {
		return (UecTrialDao) ApplicationContextUtil.getBean("uecTrialDao");
	}

	/**
	 * 获取试用类型--trialType
	 */
	public String getTrialTypeName() {
		if (!StrUtil.isNullOrEmpty(this.getTrialType())) {
			String trialType = String.valueOf(this.getTrialType());
			if ("1".equals(trialType)) {
				return "转岗试用";
			} else if ("2".equals(trialType)) {
				return "入职试用";
			}
		}
		return "";
	}

	/**
	 * 获取试用结果--trialresult
	 */
	public String getTrialresultName() {
		if (!StrUtil.isNullOrEmpty(this.getTrialresult())) {
			String trialResult = String.valueOf(this.getTrialresult());
			if ("0".equals(trialResult)) {
				return "未通过试用";
			} else if ("1".equals(trialResult)) {
				return "转正";
			} else if ("2".equals(trialResult)) {
				return "延长试用期";
			}
		}
		return "";
	}

	/**
	 * 是否结束--endflag
	 */
	public String getEndflagName() {
		if (!StrUtil.isNullOrEmpty(this.getEndflag())) {
			if ("Y".equals(this.getEndflag())) {
				return "是";
			} else if ("N".equals(this.getEndflag())) {
				return "否";
			}
		}
		return "";
	}
	
	@Override
	public Object clone() {
		UecTrial uecTrial = null;
		try {
			uecTrial = (UecTrial) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return uecTrial;
	}
}
